﻿/*$("id")返回对象*/
//function $(id) {
//    return document.getElementById(id);
//}
/*创建XMLHttp*/
function createxmlhttp() {
    var xmlhttp = false;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
        if (xmlhttp.overrideMimeType) {
            //设置MiME类别 
            xmlhttp.overrideMimeType('text/xml');
        }
    }
    return xmlhttp;
}
//common=通用
/*0106 删除 common
table列表
通过删除的ajax，传入url和id
前台界面使用 ，来隐藏已删除的值
*/
//显示等待页面
function statashow() {
    $("BOX_overlay").style.display = "block"
    var counts = document.getElementsByTagName("select").length;
    for (var i = 0; i < counts; i++) {
        document.getElementsByTagName("select")[i].style.display = "none";
    }
}
//隐藏等待页面
function statachange(obj) {
    $("BOX_overlay").style.display = "none"
    var counts = document.getElementsByTagName("select").length;
    for (var i = 0; i < counts; i++) {
        document.getElementsByTagName("select")[i].style.display = "";
    }
}
//删除函数
function del(url, id) {
    if (!confirm("该信息删除之后将不可恢复!确定要删除此信息吗？"))
        return;
    var url = url + "?id=" + id + "&function=delete";
    ajaxDel(url, id);
}
//向服务器获取数据
//删除专用的ajax方法
function ajaxDel(url, id) {
    var xmlhttp = createxmlhttp();
    xmlhttp.onreadystatechange = requestdata;
    xmlhttp.open("GET", url, true);
    xmlhttp.setRequestHeader("If-Modified-Since", "0");
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlhttp.send(null);
    function requestdata() {
        if ($("BOX_overlay")) {
            statashow();
            if ($('ajaxinfo')) {
                $("ajaxinfo").innerHTML = "正在处理请稍候";
            }
        }
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                if (isNotANumber(xmlhttp.responseText)) {
                    if (xmlhttp.responseText > 0) {
                        $("tr" + id).style.display = "none"; //将已被删除的tr列隐藏
                    }
                } else {
                    alert(xmlhttp.responseText);
                }
                if ($("BOX_overlay")) {
                    if ($("ajaxinfo")) {
                        $("ajaxinfo").innerHTML = "处理完毕";
                    }
                    statachange();
                }
            }
        }
    }
}
//end 0106 删除 common
/*-----------------列表table 全选或全不选 点击【删除选中项】执行的js代码-------------------------0115--------*/
//全选或全不选
function checkAllOrNone(targetScope, _self) {
    var IsChecked = _self.checked;
    //取得 "tb" 里的所有checkbox对象cbs
    var inputs = $("tb").getElementsByTagName("input");
    var cbs = new Array(); //checkbox对象数组
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == "checkbox") {
            cbs.push(inputs[i]);
        }
    }
    cbs.push($("checkbox_foot")); //添加 checkbox_foot 到cbs里

    //执行全选或全不选
    for (var i = 0; i < cbs.length; i++) {
        cbs[i].checked = IsChecked;
    }
}

function setHidValue() {
    //询问是否确定删除
    if (!confirm('您确定要删除吗？'))
        return false;

    //取得 "tb" 里的所有checkbox对象
    var hidBatchDeleteValue = "";
    var inputs = $("tb").getElementsByTagName("input");
    var cbs = new Array(); //checkbox对象数组
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == "checkbox") {
            cbs.push(inputs[i]);
        }
    }
    //alert(cbs.length);
    if (cbs.length > 0) {
        //整理值
        var hidValueArr = new Array();
        for (var i = 0; i < cbs.length; i++) {
            if (cbs[i].checked) {
                if (cbs[i].value != "on") {
                    hidValueArr.push(cbs[i].value);
                }
            }
        }
        //判断
        if (hidValueArr.length > 0) {
            //把值赋给hidBatchDelete
            $("hidBatchDelete").value = hidValueArr.join(",");
            return true;
        } else {
            alert("请勾选要删除的列");
            return false;
        }
    } else {
        return false;
    }
}
/*-End----------------列表table 全选或全不选 点击【删除选中项】执行的js代码----------------------0115-----------*/
/*----0313-------------验证数据 是数字：返回true；不是数字：返回false--------工具方法，不含有业务逻辑---------------------*/
function isNotANumber(inputData) {
    //isNaN(inputData)不能判断空串或一个空格
    //如果是一个空串或是一个空格，而isNaN是做为数字0进行处理的，而parseInt与parseFloat是返回一个错误消息，这个isNaN检查不严密而导致的。
    if (parseFloat(inputData).toString() == "NaN") {
        //alert("请输入数字……");注掉，放到调用时，由调用者弹出提示。
        return false;
    }
    else {
        //(parseFloat(inputData).toString() == "NaN")，这种方法不能判断“4e”、“3f”等形式的错误，
        //所以需加上isNaN
        if (isNaN(inputData)) {
            return false;
        }
        else {
            if (inputData == inputData.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')) {
                //验证 小数位数 是否没有超过两位
                return true;
            }
            else {
                return false;
            }
        }
    }
}
/*--End--0313-------------验证数据 是数字：返回true；不是数字：返回false---------------------------------*/
/*----0326-------------注册事件--------注销事件---------------------*/
//注册事件
function addEvent(element, e, fn) {
    if (element.addEventListener)//firefox，w3c
        element.addEventListener(e, fn, false); //false--冒泡，true--捕获
    else//ie
        element.attachEvent("on" + e, fn);
}
//注销事件
function removeEvent(element, e, fn) {
    if (element.removeEventListener)
        element.removeEventListener(e, fn, false);
    else
        element.detachEvent("on" + e, fn);
}
/*--End--0326-------------注册事件--------注销事件---------------------*/
/*----0326----取消事件冒泡--Propagation传播，蔓延--Bubble冒泡，使冒泡------------------------------------------------*/
function stopBubble(e) {
    //如果传入了事件对象。那么就是非IE浏览器
    if (e && e.stopPropagation) {
        //因为它支持W3C的stopPropagation()方法
        e.stopPropagation();
    } else {
        //否则，我们得使用IE的方式来取消事件冒泡
        window.event.cancelBubble = true;
    }
}
/*--End--0326----取消事件冒泡--Propagation传播，蔓延--Bubble冒泡，使冒泡------------------------------------------------*/
/*----0410----禁用enter提交form表单------------------------------------------------*/
//禁用Enter键表单自动提交  
document.onkeydown = function (event) {
    var target, code, tag;
    if (!event) {
        event = window.event; //针对ie浏览器  
        target = event.srcElement;
        code = event.keyCode;
        if (code == 13) {
            tag = target.tagName;
            if (tag == "TEXTAREA") { return true; }
            else { return false; }
        }
    }
    else {
        target = event.target; //针对遵循w3c标准的浏览器，如Firefox  
        code = event.keyCode;
        if (code == 13) {
            tag = target.tagName;
            if (tag == "INPUT") { return false; }
            else { return true; }
        }
    }
};
/*--END--0410----禁用enter提交form表单------------------------------------------------*/
